import { inject, injectable } from "inversify";
import { IApplicationShell } from "../../common/application/types";
import { IServiceContainer } from "../../ioc/types";
import { IDiagnostic, IDiagnosticCommand, IDiagnosticHandlerService, IDiagnosticMessageOnCloseHandler } from "./types";

export const DiagnosticCommandPromptHandlerServiceId = 'DiagnosticCommandPromptHandlerServiceId';

export type MessageCommandPrompt = {
  commandPrompts: {
      prompt: string;
      command?: IDiagnosticCommand;
  }[];
  message?: string;
  onClose?: IDiagnosticMessageOnCloseHandler;
};


@injectable()
export class DiagnosticCommandPromptHandlerService implements IDiagnosticHandlerService<MessageCommandPrompt> {
    private readonly appShell: IApplicationShell;
    constructor(@inject(IServiceContainer) serviceContainer: IServiceContainer) {
        this.appShell = serviceContainer.get<IApplicationShell>(IApplicationShell);
    }
  handle(diagnostic: IDiagnostic, options?: MessageCommandPrompt): Promise<void> {
    throw new Error("97Method not implemented.");
  }
  }